/**
 * @Title: DistanceUtil.java
 * @Package com.clt.runman.utils
 * @Description: TODO(用一句话描述该文件做什么)
 * @author A18ccms A18ccms_gmail_com
 * @date 2015年6月1日 上午11:36:02
 * @Copyright:Copyright (c)
 * @Company:whty李焱生
 * @version V1.0
 */
package com.xiaoge.basedevlibrary.utils;

/**
 *@Description:计算两点距离
 *@Author:李焱生
 *@Since:2015年6月1日上午11:36:02  
 */
public class DistanceUtil {

    private static final double EARTH_RADIUS = 6378137;

    private static double rad(double d){
        return d * Math.PI / 180.0;
    }

    /**
    * 
    *@Description: 根据两点间经纬度坐标（double值），计算两点间距离，单位为米
    *@Author: 李焱生
    *@Since: 2015年6月1日下午12:58:36
    *@param lng1
    *@param lat1
    *@param lng2
    *@param lat2
    *@return
    */
    public static double getDistance(double lng1,double lat1,double lng2,double lat2){
        double radLat1 = rad (lat1);
        double radLat2 = rad (lat2);
        double a = radLat1 - radLat2;
        double b = rad (lng1) - rad (lng2);
        double s = 2 * Math.asin (Math.sqrt (Math.pow (Math.sin (a / 2), 2) + Math.cos (radLat1) * Math.cos (radLat2) * Math.pow (Math.sin (b / 2), 2)));
        s = s * EARTH_RADIUS;
        s = Math.round (s * 10000) / 10000;
        return s;
    }
}
